In general, semiconductor memories may be divided into two types, volatile memories and nonvolatile memories. As the name implies, volatile memories lose stored data when power is removed, whereas nonvolatile memories retain stored data when power is removed. Static random access memories (SRAMs) are one type of volatile memory. SRAMs are generally comprised of either four transistor or six transistor memory cells. Each SRAM cell is coupled to a bit line pair and to a word line. Data is read from or written into a selected SRAM cell via the bit line pair. SRAMs are generally used in applications that require high speed operation, such as a cache memory for a data processing system. An unlimited number of write operations can be performed on a SRAM cell without reducing reliability.
A read only memory (ROM) is a type of nonvolatile memory in which data is mask programmed by the semiconductor manufacturer. The mask programmed data of a ROM cannot be altered, and unlike a SRAM, the data is not lost when power is removed. ROM is used in various ways in the design of data processing systems. For example, ROM may be used to provide look-up tables needed in some mathematical functions, or for the display of characters. Also, ROM is used in the design of control units for computers to store the sequence of control variables needed for enabling the various operations in the computer. ROMs are used in applications where the programming is fixed, however, many systems require a nonvolatile memory in which the mask programmed data can be changed.
EPROMs (Erasable Programmable Read Only Memories) and EEPROMs (Electrically Erasable Programmable Read Only Memories) are types of nonvolatile memory that can be reprogrammed, however, unlike a SRAM, the number of times an EPROM or EEPROM can be reprogrammed is limited. In addition, ultraviolet (UV) light is needed to reprogram an EPROM, requiring special UV equipment. A high programming voltage, provided by the user or by a high voltage charge pump is required to reprogram an EEPROM. Also, the reprogramming time of an EPROM or EEPROM is generally much longer than the write cycle of a SRAM.